package com.shujia.day03;

public class Code03ForDemo {
    public static void main(String[] args) {
//        求5的阶乘  5!=5*4*3*2*1 = 120

        /*
            1.定义一个乘积的结果变量
            2.对阶乘的次数定义一个变量，通过for循环判断当前变量是否超过5
            3.对循环体中做数据的累乘
            4.对次数进行累加
         */

        int cNum = 1;
        for (int i = 1; i <= 5; i++) {
            cNum *= i;
        }
        System.out.println(cNum);



        /*
            在控制台输出所有的”水仙花数”
            所谓的水仙花数是指一个三位数，其各位数字的立方和等于该数本身。
         */

        /*
          分析：
                1.遍历所有的三位数 100~999
                2.对于每个三位数，需要取出各位置上的数字
                3.再对数字计算其立方和和数据本身比较
                4.如果相同，那么打印一条信息进行提示
         */

        int cnt = 0;
        for (int num = 100; num <= 999; num++) {
            int bai = num / 100;
//           int shi = (num - 100 * bai)/10;
            int shi = (num % 100) / 10;
            int ge = num % 10;

            if((bai * bai * bai + shi * shi * shi + ge * ge * ge) == num ){
                System.out.println("找到一个水仙花数："+num);
                cnt +=1;
            }
        }
        System.out.println("共找到水仙花数："+cnt+"个");

    }
}
